package plugin;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Proxy;
import java.net.URL;
import java.net.URLConnection;
import pl.druminski.robinhood.plugininterface.Plugin;

/**
 * @author Łukasz Drumiński
 * 
 */
public class Okruszek implements Plugin
{

    private String name = "okruszek";
    private double version = 0.2;
    /**
     * wartosc jednego klikniecia w groszach, w przypadku pajacyka
     * jedno klikniecie równa sie 5 groszy
     */
    private int valueOfOneClickInPennies = 1;
    private URL url = null;
    private URLConnection urlConnection = null;
    private InputStream inputStream = null;
    private BufferedReader bufferReader;
    private StringBuilder contents = null;
    private int clicks = 0;

    public String getName()
    {
        return name;
    }

    public double getVersion()
    {
        return version;
    }

    public int Run(Proxy[] tabProxy)
    {
        clicks = 0;
        int steps = 100;
        Boolean error;

        try
        {
            url = new URL("http://www.okruszek.org.pl/dziekujemy.php");
        } catch (Exception ex)
        {
        }

        for (int i = 0; i < steps; i++)
        {
            error = false;

            //polacz sie ze strona www bezposrednio przez lokalne ip
            try
            {
                urlConnection = url.openConnection();

            } catch (Exception ex)
            {
                error = true;
            }

            //wczytaj strone
            try
            {

                inputStream = urlConnection.getInputStream();
                bufferReader = new BufferedReader(new InputStreamReader(inputStream));

            } catch (Exception e)
            {
                error = true;
            }

            String s = "";
            contents = new StringBuilder();

            try
            {

                while ((s = bufferReader.readLine()) != null)
                {
                    contents = contents.append(s);

                }


                inputStream.close();

            } catch (Exception e)
            {
                error = true;
            }

            //lancuch, ktorego wystpieinie w stronie bedzie oznaczac, ze
            //klikniecie zostalo zaakceptowane
            //lancuch nie zawiera polskich znakow, bo bylyby problemy z kodowaniem
            if (contents.lastIndexOf("a przekazana najbardziej potrzebuj") > -1 && !error)
            {
                clicks++;
            }
        }

        return clicks;
    }

    public int getValueOfOneClickInPennies()
    {
        return valueOfOneClickInPennies;
    }
}
